package org.example.mybooksystem.mapper;

import org.apache.ibatis.annotations.*;
import org.example.mybooksystem.Modle.BookInfo;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Description:做渐进主义的改良派,不做完没注意的速成派
 * User: XALEXC
 * Date: 2025-02-23
 * Time: 13:12
 */
@Mapper
public interface BookInfoMapper {
    /**
     * 获取当前页的信息
     * @param offset
     * @param pageSize
     * @return
     */
    @Select("select * from book_info where status!=0" +
            " order by id desc limit #{offset},#{pageSize}")
    List<BookInfo> selectBookInfoByPage(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize);

    /**
     * 获取总记录数
     * @return
     */
    @Select("select count(1) from book_info where status!=0")
    Integer count();

    @Insert("insert into book_info (book_name,author,count,price,publish,status)" +
            "values(#{bookName},#{author},#{count},#{price},#{publish},#{status})")
    Integer insertBookInfo(BookInfo bookInfo);

    @Select("select * from book_info where id=#{id}")
    BookInfo queryBookInfoById(Integer id);


    Integer updateBook(BookInfo bookInfo);

    Integer batchDelete(@Param("ids") List<Integer> ids);
 }
